diff --git a/MANIFEST b/MANIFEST
index 9dc8f86b910f69f3bea87cb8495eadfd56e6b836..81188d91bb1c6b90acf3e56fe3a7bba79a9c1923 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,6 +1,11 @@
 Changes
 Makefile.PL
 MANIFEST
-README
-t/RedMiner-API.t
-lib/RedMiner/API.pm
+README.md
+t/00-use.t
+t/01-dispatching.t
+t/02-realworld.t
+t/03-realworld-no-wrapping.t
+t/04-pod.t
+t/05-pod-coverage.t
+lib/Redminer.pm
diff --git a/Makefile.PL b/Makefile.PL
index cd80fa46c1a772c71dde4aaa64f66286c8aa03c0..ed5a7b3fcaebf83af1f9edf24b4f87df94db8470 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -2,8 +2,8 @@ use 5.010;
 use ExtUtils::MakeMaker;
 
 WriteMakefile(
-	NAME         => 'RedMiner::API',
-	VERSION_FROM => 'lib/RedMiner/API.pm',
+	NAME         => 'Redminer',
+	VERSION_FROM => 'lib/Redminer.pm',
 	PREREQ_PM    => {
 		'URI'             => 0,
 		'URI::QueryParam' => 0,
@@ -11,7 +11,7 @@ WriteMakefile(
 		'JSON::XS'        => 0,
 	},
 	($] >= 5.005 ? ( ## Add these new keywords supported since 5.005
-		ABSTRACT_FROM => 'lib/RedMiner/API.pm',
+		ABSTRACT_FROM => 'lib/Redminer.pm',
 		AUTHOR        => 'Anton Soldatov <igelhaus@gmail.com>')
 	: ()),
 );
diff --git a/README.md b/README.md
index e786bfb582abf5f914875226671ce420c4c7ece7..1d55a44a08c3edd6091d054bdd28f268cf9951af 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@ Currently the project consists of two parts:
 
 1. `redminer` script itself. For now it supports only creating projects with subprojects
 from a given layout, but in the future it's aimed for various RedMine automation tasks
-2. `RedMiner::API` module, a Perl binding to [RedMine REST API](http://www.redmine.org/projects/redmine/wiki/Rest_api).
-Please refer to [built-in POD documentation](../master/lib/RedMiner/API.pm) for more details
+2. `Redminer` module, a Perl binding to [RedMine REST API](http://www.redmine.org/projects/redmine/wiki/Rest_api).
+Please refer to [built-in POD documentation](../master/lib/Redminer.pm) for more details
 
 ## Non-core Dependencies
 
diff --git a/lib/RedMiner/API.pm b/lib/Redminer.pm
similarity index 95%
rename from lib/RedMiner/API.pm
rename to lib/Redminer.pm
index d851bb1cc629d919a27bdbfec556a935103c68eb..0c6285517237a0e7d388b57bb24ca506004b1216 100644
--- a/lib/RedMiner/API.pm
+++ b/lib/Redminer.pm
@@ -1,4 +1,4 @@
-package RedMiner::API;
+package Redminer;
 
 use 5.010;
 use strict;
@@ -18,17 +18,17 @@ use Encode   qw/decode/;
 
 =head1 NAME
 
-RedMiner::API - Wrapper for RedMine REST API (http://www.redmine.org/projects/redmine/wiki/Rest_api).
+Redminer - Wrapper for RedMine REST API (http://www.redmine.org/projects/redmine/wiki/Rest_api).
 
 =head1 SYNOPSIS
 
-	use RedMiner::API;
-	my $redminer = RedMiner::API->new(
+	use Redminer;
+	my $redminer = Redminer->new(
 		host => 'example.com/redmine',
 		key  => 'xxx',
 	);
 	# password-based auth is also supported:
-	#my $redminer = RedMiner::API->new(
+	#my $redminer = Redminer->new(
 	#	host => 'example.com/redmine',
 	#	user => 'redminer',
 	#	pass => 'p@s$w0rD',
@@ -37,7 +37,7 @@ RedMiner::API - Wrapper for RedMine REST API (http://www.redmine.org/projects/re
 	my $project = $redminer->createProject({
 		identifier  => 'my-project',
 		name        => 'My Project',
-		description => 'My project, created with *RedMiner::API*',
+		description => 'My project, created with *Redminer*',
 	});
 	if (!$project) {
 		say STDERR 'Error(s) creating project: ', join("\n", map { $_ } $redminer->errorDetails->{errors});
@@ -52,7 +52,7 @@ RedMiner::API - Wrapper for RedMine REST API (http://www.redmine.org/projects/re
 	
 	my $issue = $redminer->createIssue({
 		project_id  => $project_id,
-		subject     => 'Test issue for RedMiner::API',
+		subject     => 'Test issue for Redminer',
 		description => 'Issue description',
 	});
 
@@ -145,7 +145,7 @@ be retrieved like this:
 
 =head2 new
 
-	my $redminer = RedMiner::API->new(%options);
+	my $redminer = Redminer->new(%options);
 
 Following options are recognized:
 
@@ -188,7 +188,7 @@ By default RedMine API requires you to wrap you object data like this:
 
 By default this module follows this convention. However, if you specify something like
 
-	my $redminer = RedMiner::API->new(
+	my $redminer = Redminer->new(
 		host => 'example.com/redmine',
 		key => 'xxx',
 		no_wrapper_object => 1,
@@ -510,13 +510,13 @@ between this module and Redmine::API are:
 =item *
 
 B<Dependencies>. Redmine::API depends on Moo and REST::Client which in turn depends on
-LWP::UserAgent, URI and possibly others. RedMiner::API uses pure Perl OOP and
+LWP::UserAgent, URI and possibly others. Redminer uses pure Perl OOP and
 depends directly on LWP::UserAgent and URI.
 
 =item *
 
 B<Call conventions>. Although both modules use dynamic dispatching for building actual HTTP
-requests, they do it in a different manner. In particular, RedMiner::API tries to
+requests, they do it in a different manner. In particular, Redminer tries to
 dispatch a single method name without using chains of interrim objects as Redmine::API does.
 
 =back
diff --git a/redminer b/redminer
index d3b81c5c080a7802ae4f6865a1e05b89c554de83..d7d8592bfb4096933be763ef3e3c08f9c50ddf6e 100755
--- a/redminer
+++ b/redminer
@@ -11,7 +11,7 @@ use Encode qw/encode/;
 use Getopt::Long;
 use Config::IniFiles;
 
-use RedMiner::API;
+use Redminer;
 
 my $conf_fname   = $ENV{HOME} . '/.redminer/redminer.conf';
 my $layout_fname = $ENV{HOME} . '/.redminer/default-layout.conf';
@@ -44,7 +44,7 @@ if (!$layout) {
 	warn 'Unable to access layout config';
 }
 
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host              => $conf->val('redmine', 'host') // '',
 	user              => $conf->val('redmine', 'user') // '',
 	pass              => $conf->val('redmine', 'pass') // '',
diff --git a/t/00-use.t b/t/00-use.t
index 30126e48ac539444c90136a9e5f5a64dacb26512..6648bec1b8dc32c7d8b27b757a3c8e8e13e8aff9 100644
--- a/t/00-use.t
+++ b/t/00-use.t
@@ -3,6 +3,6 @@ use warnings;
 
 use Test::More tests => 1;
 
-BEGIN { use_ok('RedMiner::API') };
+BEGIN { use_ok('Redminer') };
 
 exit;
diff --git a/t/01-dispatching.t b/t/01-dispatching.t
index f12bbf9169be53c3a58c8b35526604b377eed591..aa8f32a92b9a6f12fddda0f157430112903ae5d3 100644
--- a/t/01-dispatching.t
+++ b/t/01-dispatching.t
@@ -3,12 +3,12 @@ use warnings;
 
 use Test::More tests => 29;
 
-eval 'use RedMiner::API';
+eval 'use Redminer';
 
 #
 # Testing internal name dispatching with a dummy object
 #
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host => '', 
 	key  => '',
 );
diff --git a/t/02-realworld.t b/t/02-realworld.t
index 0c827ba1168c5ef0d50cab4297f98524e6566303..f8290f6f7859fa132f405d6ff348cadfb0af2dfc 100644
--- a/t/02-realworld.t
+++ b/t/02-realworld.t
@@ -4,13 +4,13 @@ use warnings;
 use Test::More;
 use JSON::XS qw/encode_json/;
 
-if ($ENV{REDMINER_API_DEVEL}) {
-    plan tests => 5;
+if ($ENV{REDMINER_DEVEL}) {
+	plan tests => 5;
 } else{
-	plan skip_all => 'Development tests (REDMINER_API_DEVEL not set)';
+	plan skip_all => 'Development tests (REDMINER_DEVEL not set)';
 }
 
-eval 'use RedMiner::API';
+eval 'use Redminer';
 
 #
 # Read API key from a simple config file in the format 'host;key'
@@ -20,7 +20,7 @@ my $key  = '';
 my $key_fname = $ENV{HOME} . '/.redminer/key';
 
 if (!-e $key_fname) {
-	BAIL_OUT('REDMINER_API_DEVEL set, but key file is not accessible');
+	BAIL_OUT('REDMINER_DEVEL set, but key file is not accessible');
 }
 
 open my $FH_key, '<', $key_fname;
@@ -29,7 +29,7 @@ my $key_data  = <$FH_key>;
 chomp $key_data;
 close $FH_key;
 
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host => $host,
 	key  => $key,
 );
@@ -50,7 +50,7 @@ ok($redminer->updateProject($project_id, { project => { inherit_members => 1 } }
 
 my $issue = $redminer->createIssue({ issue => {
 	project_id  => $project_id,
-	subject     => 'Test issue for RedMiner::API',
+	subject     => 'Test issue for Redminer',
 	description => 'Test description',
 }});
 ok(defined $issue->{issue}{id}, 'Issue created with ID #' . $issue->{issue}{id});
diff --git a/t/03-realworld-no-wrapping.t b/t/03-realworld-no-wrapping.t
index 6650f30a1344bce29c02c72a8dd7e2d84af87cc3..c18d8f46efcbf9d563ae1e9a24161581fff8401a 100644
--- a/t/03-realworld-no-wrapping.t
+++ b/t/03-realworld-no-wrapping.t
@@ -4,13 +4,13 @@ use warnings;
 use Test::More;
 use JSON::XS qw/encode_json/;
 
-if ($ENV{REDMINER_API_DEVEL}) {
-    plan tests => 5;
+if ($ENV{REDMINER_DEVEL}) {
+	plan tests => 5;
 } else{
-	plan skip_all => 'Development tests (REDMINER_API_DEVEL not set)';
+	plan skip_all => 'Development tests (REDMINER_DEVEL not set)';
 }
 
-eval 'use RedMiner::API';
+eval 'use Redminer';
 
 #
 # Read API key from a simple config file in the format 'host;key'
@@ -20,7 +20,7 @@ my $key  = '';
 my $key_fname = $ENV{HOME} . '/.redminer/key';
 
 if (!-e $key_fname) {
-	BAIL_OUT('REDMINER_API_DEVEL set, but key file is not accessible');
+	BAIL_OUT('REDMINER_DEVEL set, but key file is not accessible');
 }
 
 open my $FH_key, '<', $key_fname;
@@ -29,7 +29,7 @@ my $key_data  = <$FH_key>;
 chomp $key_data;
 close $FH_key;
 
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host => $host,
 	key  => $key,
 	no_wrapper_object => 1,
@@ -51,7 +51,7 @@ ok($redminer->updateProject($project_id, { inherit_members => 1 }), 'Project upd
 
 my $issue = $redminer->createIssue({
 	project_id  => $project_id,
-	subject     => 'Test issue for RedMiner::API',
+	subject     => 'Test issue for Redminer',
 	description => 'Test description',
 });
 ok(defined $issue->{id}, 'Issue created with ID #' . $issue->{id});
diff --git a/t/05-pod-coverage.t b/t/05-pod-coverage.t
index a71fd673febb2852581d634d2757c963758ac009..61f6bd1a26cdb5f5ce994753bb1b020ee4400686 100644
--- a/t/05-pod-coverage.t
+++ b/t/05-pod-coverage.t
@@ -8,4 +8,4 @@ plan skip_all => 'Test::Pod::Coverage required for testing pod coverage' if $@;
  
 plan tests => 1;
 
-pod_coverage_ok('RedMiner::API', 'RedMiner::API POD ok');
+pod_coverage_ok('Redminer', 'Redminer POD ok');