organized for readability of player and input js files