redesigned getInput() to return a promise instead of taking a callback
changed minimal number of players from 5 to 4