All in all, a basic review of your question shows that you are creating objects numerous times, when they do not need to be. Other things are pointed out in comments. ```js const choices = ['rock', 'paper', 'scissors'], capitalize = word => word.charAt(0).toUpperCase() + word.slice(1), // Should these be made into 1 function, that takes another argument, 'condition', which is 'Win' or 'Lose'? winStatement = (winner, loser) => `You Win! ${capitalize(winner)} beats ${capitalize(loser)}`, loseStatement = (winner, loser) => `You Lose! ${capitalize(winner)} beats ${capitalize(loser)}, winningChoice = {'rock': 'paper', 'paper': 'scissors', 'scissors': 'rock'}; function computerPlay() { return choices[Math.floor(Math.random() * choices.length)]; } function playRound(playerSelection, computerSelection) { playerSelection = playerSelection.toLowerCase(); // Also, Consecutive if statements that all return need not be else-if. if(playerSelection === computerSelection) { return "Oh! It's a tie"; } if(playerSelection === winningChoice[computerSelection]) { return winStatement(playerSelection, computerSelection); } return loseStatement(computerSelection, playerSelection); } // Should be improved upon? Actually take input? const playerSelection = 'rock'; const computerSelection = computerPlay(); console.log(playRound(playerSelection, computerSelection)); ```