diff --git a/config/schema/views_infinite_scroll.schema.yml b/config/schema/views_infinite_scroll.schema.yml
index 75df35b..69b1004 100644
--- a/config/schema/views_infinite_scroll.schema.yml
+++ b/config/schema/views_infinite_scroll.schema.yml
@@ -11,3 +11,6 @@ views.pager.infinite_scroll:
         automatically_load_content:
           type: boolean
           label: 'Automatically Load Content'
+        initial:
+          type: integer
+          label: 'Initial items'
diff --git a/src/Plugin/views/pager/InfiniteScroll.php b/src/Plugin/views/pager/InfiniteScroll.php
index 45396c0..ca1b408 100644
--- a/src/Plugin/views/pager/InfiniteScroll.php
+++ b/src/Plugin/views/pager/InfiniteScroll.php
@@ -1,6 +1,5 @@
 <?php
 
-
 namespace Drupal\views_infinite_scroll\Plugin\views\pager;
 
 use Drupal\views\Plugin\views\pager\SqlBase;
@@ -51,6 +50,9 @@ class InfiniteScroll extends SqlBase {
         'automatically_load_content' => [
           'default' => FALSE,
         ],
+        'initial' => [
+          'default' => 0,
+        ],
       ],
     ];
     return $options;
@@ -90,7 +92,52 @@ class InfiniteScroll extends SqlBase {
         '#description' => $this->t('Automatically load subsequent pages as the user scrolls.'),
         '#default_value' => $options['automatically_load_content'],
       ],
+      'initial' => [
+        '#type' => 'textfield',
+        '#title' => $this->t('Initial items'),
+        '#description' => $this->t('The number of items to display initially. Enter 0 for use same as items per page (show more click).'),
+        '#default_value' => $options['initial'],
+        '#element_validate' => [[$this, 'validateIntegerPositive']],
+      ],
     ];
   }
 
+  /**
+   * Validate Form value to be integer and positive.
+   *
+   * @param array $element
+   *   The form element to process.
+   * @param \Drupal\Core\Form\FormStateInterface $form_state
+   *   The form state.
+   * @param array $complete_form
+   *   The complete form structure.
+   */
+  public static function validateIntegerPositive(array &$element, FormStateInterface $form_state, array &$complete_form) {
+    $value = $element['#value'];
+    if ($value !== '' && (!is_numeric($value) || intval($value) != $value || $value < 0)) {
+      $form_state->setError($element, t('%name must be a positive integer.', array('%name' => $element['#title'])));
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    parent::query();
+
+    // Set first page items limit.
+    $options = $this->options['views_infinite_scroll'];
+    $others_page = $this->options['items_per_page'];
+    $limit = !empty($options['initial']) ? $options['initial'] : $others_page;
+    $offset = !empty($options['offset']) ? $options['offset'] : 0;
+
+    if ($this->current_page != 0) {
+      $offset = $limit + (($this->current_page - 1) * $others_page) + $offset;
+      $limit = $others_page;
+    }
+
+    $this->view->query->setLimit($limit);
+    $this->view->query->setOffset($offset);
+  }
+
 }
