# Why use functions here? Understand Functional Programming Terminology

Tell us what’s happening:

Hello all, I have complete this challenge but I am a little confused by the 2 declarations up top, prepareGreenTea and prepareBlackTea. If all they do is a return a string, why make them functions at all?

Could you just write: const prepareGreenTea = ‘green tea’; ?

If you did that, couldn’t you eliminate one step in the for loop, and just push green or black tea x times to the empty array?

``````
/**
* A long process to prepare green tea.
* @return {string} A cup of green tea.
**/
const prepareGreenTea = () => 'greenTea';

/**
* A long process to prepare black tea.
* @return {string} A cup of black tea.
**/
const prepareBlackTea = () => 'blackTea';

/**
* Get given number of cups of tea.
* @param {function():string} prepareTea The type of tea preparing function.
* @param {number} numOfCups Number of required cups of tea.
* @return {Array<string>} Given amount of tea cups.
**/
const getTea = (prepareTea, numOfCups) => {
const teaCups = [];

for(let cups = 1; cups <= numOfCups; cups += 1) {
const teaCup = prepareTea();
teaCups.push(teaCup);
}

return teaCups;
};

const tea4GreenTeamFCC = getTea(prepareGreenTea, 27); // :(
const tea4BlackTeamFCC = getTea(prepareBlackTea, 13); // :(

console.log(
tea4GreenTeamFCC,
tea4BlackTeamFCC
);
``````

User Agent is: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36`.