diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py
index 7b6f3a5464387d28aa106a1e543b2809b470162e..558889691c7eaf21e1a7d86e0e67f26f1512b511 100644
--- a/ippisite/ippidb/forms.py
+++ b/ippisite/ippidb/forms.py
@@ -3,8 +3,10 @@ from django import forms
 from django.db import models
 from .models import Bibliography, Protein, ProteinDomainComplex, Ppi, PpiComplex
 
-class IdForm(forms.Form):
-	id = forms.CharField(label="",max_length=100, widget=forms.TextInput(attrs={'placeholder': 'PubMed ID / DOI / Patent ID'}))
+class IdForm(ModelForm):
+    class Meta:
+        model = Bibliography
+        fields = ['source','id_source']
 
 class BibliographyForm(ModelForm):
     class Meta:
diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py
index b1c7b5c5e671a996f3808fd09856a9ef43a28e1f..a6aa39856f20c894f93a4c946c91743ead67f7b7 100644
--- a/ippisite/ippidb/views.py
+++ b/ippisite/ippidb/views.py
@@ -57,7 +57,17 @@ TEMPLATES = {"IdForm": "IdForm.html",
 class IppiWizard(SessionWizardView):
     def get_template_names(self):
         return [TEMPLATES[self.steps.current]]
-        
+
+    def process_step(self, form):
+        """
+        This method overrides the one used to postprocess the form data.
+        The added code just sets the form model for use in later forms
+        when appropriate
+        """
+        if self.steps.current=='IdForm':
+            self.instance_dict['BibliographyForm'] = form.instance
+        return self.get_form_step_data(form)
+
     def done(self, form_list, **kwargs):
         return render(self.request, '/admin-session/add.html', {
             'form_data': [form.cleaned_data for form in form_list],