--- /dev/null
+package SL::Layout::Split;
+
+use strict;
+use parent qw(SL::Layout::Base);
+
+use SL::Presenter::Tag qw(html_tag);
+
+use Rose::Object::MakeMethods::Generic (
+  'scalar'                => [ qw(left right) ],
+);
+
+sub sub_layouts {
+  @{ $_[0]->left || [] },
+  @{ $_[0]->right || [] },
+}
+
+sub pre_content {
+  my $left  = join '', map { $_->pre_content } @{ $_[0]->left  || [] };
+  my $right = join '', map { $_->pre_content } @{ $_[0]->right || [] };
+
+  html_tag('div', $left, class => 'layout-split-left')
+  .'<div class="layout-split-right">' . $right;
+}
+
+sub post_content {
+  my $left  = join '', map { $_->post_content } @{ $_[0]->left  || [] };
+  my $right = join '', map { $_->post_content } @{ $_[0]->right || [] };
+
+  $right . '</div>'
+  . html_tag('div', $left, class => 't-layout-left');
+}
+
+1;
+
+__END__
+
+=encoding utf-8
+
+=head1 NAME
+
+SL::Layout::Split
+
+=head1 SYNOPSIS
+
+  use SL::Layout::Split;
+
+  SL::Layout::Split->new(
+    left  => [ LIST OF SUBLAYOUTS ],
+    right => [ LIST OF SUBLAYOUTS ],
+  );
+
+=head1 DESCRIPTION
+
+Layout with left and right components, with content being part of the
+right block.
+
+=head1 BUGS
+
+Due to the way content is serialized it's currently not possible to shift the content into the other blocks
+
+=head1 AUTHOR
+
+Sven Schöling E<lt>s.schoeling@linet-services.deE<gt>
+
+=cut