diff --git a/app/main/forms.py b/app/main/forms.py
index 20826e482eca6df3612c9c54be9c5833f9fe0c9b..a3ff4a639373ee4dc648a7cadffb52f327c20bac 100644
--- a/app/main/forms.py
+++ b/app/main/forms.py
@@ -1,6 +1,6 @@
 from flask_wtf import FlaskForm
 from wtforms import (MultipleFileField, StringField, SubmitField,
-                     ValidationError, IntegerField)
+                     ValidationError, IntegerField, SelectField)
 from wtforms.validators import DataRequired, Length, NumberRange
 
 
@@ -26,8 +26,27 @@ class AddCorpusFileForm(FlaskForm):
 
 
 class QueryForm(FlaskForm):
-    query = StringField('CQP Query', validators=[DataRequired()])
-    # hits_per_page = IntegerField('Hits per page',
-                                 # validators=[DataRequired(),
-                                 #             NumberRange(min=10, max=50)])
+    query = StringField('CQP Query', validators=[DataRequired(), (Length(1, 1024))])
+    hits_per_page = SelectField('Hits per page',
+                                choices=[('', 'Nr. of hits per page'),
+                                         ('10', '10'),
+                                         ('20', '20'),
+                                         ('30', '30'),
+                                         ('40', '40'),
+                                         ('50', '50')],
+                                validators=[DataRequired()],
+                                default='30')
+    context = SelectField('Context',
+                          choices=[('', 'Words of context around hit'),
+                                   ('5', '5'),
+                                   ('10', '10'),
+                                   ('15', '15'),
+                                   ('20', '20'),
+                                   ('25', '25')],
+                          validators=[DataRequired()],
+                          default='10')
     submit = SubmitField('Start Query')
+
+
+class QueryDownloadForm(FlaskForm):
+    pass
diff --git a/app/main/views.py b/app/main/views.py
index bff10de17c8f428d7065630406c8888d2004d571..e2202423930e4517fd128408e1de279f1e6270f2 100644
--- a/app/main/views.py
+++ b/app/main/views.py
@@ -55,15 +55,24 @@ def corpus_download(corpus_id):
 @login_required
 def corpus_analysis(corpus_id):
     corpus = Corpus.query.get_or_404(corpus_id)
+    query = request.args.get('query')
     form = QueryForm()
     if form.validate_on_submit():
         logger = logging.getLogger(__name__)
         logger.warning('Data has been sent!')
+        logger.warning('Data labels: {data}'.format(data=[data for data in form.data]))
+        logger.warning('Query: {q}'.format(q=form.query.data))
+        logger.warning('Hits: {hits}'.format(hits=form.hits_per_page.data))
+        logger.warning('Context: {context}'.format(context=form.context.data))
         flash('Query has been sent!')
-        return redirect(url_for('main.corpus_analysis', corpus_id=corpus_id))
+        query = form.query.data
+        logger.warning('Session query: {sq}'.format(sq=query))
+        return redirect(url_for('main.corpus_analysis', corpus_id=corpus_id,
+                                query=query))
     return render_template('main/corpora/corpus_analysis.html.j2',
                            corpus=corpus,
                            form=form,
+                           query=query,
                            title='Corpus: ' + corpus.title)
 
 
diff --git a/app/templates/main/corpora/corpus_analysis.html.j2 b/app/templates/main/corpora/corpus_analysis.html.j2
index 211e9f49941ca133a27e12eba02c80696e4b87bd..62919497766e7143f62c730b0082a32fd5e9dd8e 100644
--- a/app/templates/main/corpora/corpus_analysis.html.j2
+++ b/app/templates/main/corpora/corpus_analysis.html.j2
@@ -35,7 +35,7 @@
           <span class="card-title">Query and analysis</span>
           <div class="input-field">
             <i class="material-icons prefix">search</i>
-              <textarea id="{{ form.query.id }}" name="{{ form.query.id }}" required="" type="text" value="" class="materialize-textarea"></textarea>
+              <input autofocus size="1024" data-length="1024" id="{{ form.query.id }}" name="{{ form.query.id }}" required="" type="text" value="{{ query if query != None else '' }}"></input>
               {{ form.query.label }}
             {% for error in form.query.errors %}
               <span class="helper-text red-text">{{ error }}</span>
@@ -44,7 +44,7 @@
           <div class="right-align">
             {{ form.submit(class='btn') }}
           </div>
-          <!-- <br>
+          <br>
           <span class="card-title">Help</span>
           <ul>
             <li>
@@ -54,17 +54,26 @@
           </ul>
           <br>
           <span class="card-title">Options</span>
-          <select>
-            <option value="" disabled selected>Choose your option</option>
-            <option value="1">10</option>
-            <option value="2">20</option>
-            <option value="3">25</option>
-            <option value="3">50</option>
-        </select>
-        <label>Materialize Select</label>
           <br>
+            <div class="input-field">
+              <i class="material-icons prefix">format_list_numbered</i>
+              {{ form.hits_per_page() }}
+              {{ form.hits_per_page.label }}
+              {% for error in form.hits_per_page.errors %}
+                <span class="helper-text red-text">{{ error }}</span>
+              {% endfor %}
+            </div>
+          <br>
+          <div class="input-field">
+            <i class="material-icons prefix">short_text</i>
+            {{ form.context() }}
+            {{ form.context.label }}
+            {% for error in form.context.errors %}
+              <span class="helper-text red-text">{{ error }}</span>
+            {% endfor %}
+          </div>
           <span class="card-title">Download Results</span>
-        </div> -->
+        </div>
       </form>
       </div>
     </div>