diff --git a/connector/perl/lib/MR/Tarantool/Box.pm b/connector/perl/lib/MR/Tarantool/Box.pm
index 7bb67ac23dabb2a9e8dc3abef6de1ba5d5008f24..f60599359955dec257184bbce8854c7e06a51083 100644
--- a/connector/perl/lib/MR/Tarantool/Box.pm
+++ b/connector/perl/lib/MR/Tarantool/Box.pm
@@ -79,7 +79,7 @@ use constant {
 sub IPROTOCLASS () { 'MR::IProto' }
 
 use vars qw/$VERSION %ERRORS/;
-$VERSION = 0.0.14;
+$VERSION = 0.0.15;
 
 BEGIN { *confess = \&MR::IProto::confess }
 
@@ -331,6 +331,7 @@ sub new {
             $ns->{default_index} ||= 0;
             $ns->{primary_key_index} ||= 0;
         }
+        $ns->{fields} ||= $arg->{default_fields};
         if($ns->{fields}) {
             confess "space[$namespace] fields must be ARRAYREF" unless ref $ns->{fields} eq 'ARRAY';
             confess "space[$namespace] fields number must match format" if @{$ns->{fields}} != @f;
diff --git a/connector/perl/lib/MR/Tarantool/Box/Singleton.pm b/connector/perl/lib/MR/Tarantool/Box/Singleton.pm
index 3d106a1f800efd2c6ea7a805c9b071638d32ad72..9d4f72d42962b963cb0961deae135c1e7d4d45ba 100644
--- a/connector/perl/lib/MR/Tarantool/Box/Singleton.pm
+++ b/connector/perl/lib/MR/Tarantool/Box/Singleton.pm
@@ -322,17 +322,12 @@ sub _new_instance {
     $config->{servers}                     ||= $class->SERVER;
 
     $config->{param}->{name}               ||= $class;
-
-    $config->{param}->{spaces}             ||= my $sp = $class->SPACES;
-    $config->{param}->{default_space}      ||= my $defsp = @$sp == 1 ? 0 : $class->DEFAULT_SPACE;
-
-    $sp->[$defsp]->{fields} ||= [ $class->FIELDS ] if $class->can('FIELDS');
+    $config->{param}->{spaces}             ||= $class->SPACES;
+    $config->{param}->{default_fields}     ||= [ $class->FIELDS ] if $class->can('FIELDS');
 
     $config->{param}->{raise}                = $class->RAISE unless defined $config->{param}->{raise};
-
     $config->{param}->{timeout}            ||= $class->TIMEOUT;
     $config->{param}->{select_timeout}     ||= $class->SELECT_TIMEOUT;
-
     $config->{param}->{debug}              ||= $class->DEBUG;
     $config->{param}->{ipdebug}            ||= $class->IPDEBUG;
 
@@ -341,17 +336,19 @@ sub _new_instance {
     $config->{param}->{softretry}          ||= $class->SOFT_RETRY;
     $config->{param}->{retry_delay}        ||= $class->RETRY_DELAY;
 
-    $config->{param}->{fields}             ||= [ $class->FIELDS ];
-
     my $replicas = delete $config->{replicas} || $class->REPLICAS || [];
     $replicas = [ split /,/, $replicas ] unless ref $replicas eq 'ARRAY';
 
+    $class->CheckConfig($config);
+
     return bless {
         box      => $class->MR_TARANTOOL_BOX_CLASS->new({ servers => $config->{servers}, %{$config->{param}} }),
         replicas => [ map { $class->MR_TARANTOOL_BOX_CLASS->new({ servers => $_, %{$config->{param}} }) } shuffle @$replicas ],
     }, $class;
 }
 
+sub CheckConfig {}
+
 =pod
 
 =head3 Add, Insert, Replace, UpdateMulti, Delete