updated player, might refactor later