diff --git a/beat/web/plotters/serializers.py b/beat/web/plotters/serializers.py
index 6a8d5cb260f16ad0e16a29c6febd1b2482d31dc8..dcfe8a4a235a6ba804535f6506fc40bd6ce263c3 100644
--- a/beat/web/plotters/serializers.py
+++ b/beat/web/plotters/serializers.py
@@ -25,20 +25,23 @@
 #                                                                             #
 ###############################################################################
 
-from ..common.serializers import DynamicFieldsSerializer, ContributionSerializer, ContributionCreationSerializer
+from ..common.serializers import (
+    DynamicFieldsSerializer,
+    ContributionSerializer,
+    ContributionCreationSerializer,
+)
 from .models import Plotter, PlotterParameter, DefaultPlotter
 from rest_framework import serializers
 
 from ..code.serializers import CodeSerializer, CodeCreationSerializer
 from ..libraries.serializers import LibraryReferenceSerializer
-from ..dataformats.serializers import ReferencedDataFormatSerializer
 
-from django.utils.encoding import smart_str
 from django.utils.encoding import smart_text
 
 import beat.core.plotter
 import simplejson as json
 
+
 class PlotterSerializer(ContributionSerializer):
 
     dataformat = serializers.CharField(source="dataformat.fullname")
@@ -46,34 +49,47 @@ class PlotterSerializer(ContributionSerializer):
     class Meta(ContributionSerializer.Meta):
         model = Plotter
         default_fields = [
-            #'name', 'dataformat',
-                'id', 'accessibility', 'modifiable', 'deletable', 'is_owner', 'name', 'dataformat', 'fork_of', 'last_version', 'previous_version', 'short_description', 'description', 'version', 'creation_date', 'data', 'sample_data', 'declaration',
+            # 'name', 'dataformat',
+            "id",
+            "accessibility",
+            "modifiable",
+            "deletable",
+            "is_owner",
+            "name",
+            "dataformat",
+            "fork_of",
+            "last_version",
+            "previous_version",
+            "short_description",
+            "description",
+            "version",
+            "creation_date",
+            "data",
+            "sample_data",
+            "declaration",
         ]
 
-class PlotterParameterSerializer(ContributionSerializer):
 
+class PlotterParameterSerializer(ContributionSerializer):
     class Meta(ContributionSerializer.Meta):
         model = PlotterParameter
         exclude = []
-        default_fields = [
-            'name', 'plotter',
-        ]
+        default_fields = ["name", "plotter"]
+
 
 class DefaultPlotterSerializer(DynamicFieldsSerializer):
 
     dataformat = serializers.CharField(source="dataformat.fullname")
-    plotter    = serializers.CharField(source="plotter.fullname")
-    parameter  = serializers.CharField(source="parameter.fullname")
+    plotter = serializers.CharField(source="plotter.fullname")
+    parameter = serializers.CharField(source="parameter.fullname")
 
     class Meta(DynamicFieldsSerializer.Meta):
         model = DefaultPlotter
         exclude = []
-        default_fields = [
-            'dataformat', 'plotter', 'parameter',
-        ]
+        default_fields = ["dataformat", "plotter", "parameter"]
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class PlotterCreationSerializer(CodeCreationSerializer):
@@ -82,105 +98,126 @@ class PlotterCreationSerializer(CodeCreationSerializer):
         beat_core_class = beat.core.plotter
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class PlotterAllSerializer(CodeSerializer):
-    dataformat              = serializers.SerializerMethodField()
-    declaration_file        = serializers.SerializerMethodField()
-    description_file        = serializers.SerializerMethodField()
-    source_code_file        = serializers.SerializerMethodField()
-    referenced_libraries    = LibraryReferenceSerializer(many=True)
+    dataformat = serializers.SerializerMethodField()
+    declaration_file = serializers.SerializerMethodField()
+    description_file = serializers.SerializerMethodField()
+    source_code_file = serializers.SerializerMethodField()
+    referenced_libraries = LibraryReferenceSerializer(many=True)
 
     class Meta(CodeSerializer.Meta):
         model = Plotter
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class FullPlotterSerializer(PlotterAllSerializer):
-
     class Meta(PlotterAllSerializer.Meta):
-        default_fields = PlotterAllSerializer.Meta.default_fields + PlotterAllSerializer.Meta.extra_fields
+        default_fields = (
+            PlotterAllSerializer.Meta.default_fields
+            + PlotterAllSerializer.Meta.extra_fields
+        )
         exclude = []
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
+
 
 class PlotterParameterCreationFailedException(Exception):
     pass
 
+
 class PlotterParameterCreationSerializer(ContributionCreationSerializer):
     data = serializers.JSONField(required=False)
 
     class Meta(ContributionCreationSerializer.Meta):
         model = PlotterParameter
-        fields = ['name', 'plotter', 'data', 'version', 'previous_version', 'short_description', 'description', 'fork_of']
-        #beat_core_class = beat.core.PlotterParameter
+        fields = [
+            "name",
+            "plotter",
+            "data",
+            "version",
+            "previous_version",
+            "short_description",
+            "description",
+            "fork_of",
+        ]
+        # beat_core_class = beat.core.PlotterParameter
 
     def create(self, validated_data):
         plotterparameter = None
 
         if "name" not in validated_data:
-            raise serializers.ValidationError('No name provided')
+            raise serializers.ValidationError("No name provided")
 
-        try:
-            plotterparameter = PlotterParameter.objects.get(author=self.context['request'].user, name=validated_data['name'], version=validated_data['version'])
-        except:
-            pass
-
-        if plotterparameter is not None:
-            raise serializers.ValidationError('A plotterparameter with this name already exists')
+        if PlotterParameter.objects.filter(
+            author=self.context["request"].user,
+            name=validated_data["name"],
+            version=validated_data["version"],
+        ).exists():
+            raise serializers.ValidationError(
+                "A plotterparameter with this name already exists"
+            )
 
         if "plotter" not in self.data:
-            raise serializers.ValidationError('No plotter provided')
+            raise serializers.ValidationError("No plotter provided")
 
-        plotter = None
         try:
-            plotter = Plotter.objects.get(id=self.data['plotter'])
-        except:
-            pass
-
-        if plotter is None:
-            raise serializers.ValidationError('Required plotter does not exist')
+            Plotter.objects.get(id=self.data["plotter"])
+        except Exception:
+            raise serializers.ValidationError("Required plotter does not exist")
 
         if "data" not in validated_data:
-            validated_data['data'] = {}
+            validated_data["data"] = {}
 
-        #Only create new version for latest version
+        # Only create new version for latest version
         if "previous_version" in validated_data:
-            if validated_data['previous_version'].version < validated_data['version'] - 1:
-                raise serializers.ValidationError('A new version for this plotterparameter version already exist')
-
-            #add description/short_description to new version
-            validated_data['short_description'] = validated_data['previous_version'].short_description
-            validated_data['description'] = validated_data['previous_version'].description
-
-        #Create fork
+            if (
+                validated_data["previous_version"].version
+                < validated_data["version"] - 1
+            ):
+                raise serializers.ValidationError(
+                    "A new version for this plotterparameter version already exist"
+                )
+
+            # add description/short_description to new version
+            validated_data["short_description"] = validated_data[
+                "previous_version"
+            ].short_description
+            validated_data["description"] = validated_data[
+                "previous_version"
+            ].description
+
+        # Create fork
         if "fork_of" in validated_data:
-            #add description/short_description to new version
-            validated_data['short_description'] = validated_data['fork_of'].short_description
-            validated_data['description'] = validated_data['fork_of'].description
-
+            # add description/short_description to new version
+            validated_data["short_description"] = validated_data[
+                "fork_of"
+            ].short_description
+            validated_data["description"] = validated_data["fork_of"].description
 
         plotterparameter = PlotterParameter.objects.create(**validated_data)
         if plotterparameter is None:
             raise PlotterParameterCreationFailedException()
         return plotterparameter
 
-#----------------------------------------------------------
+
+# ----------------------------------------------------------
 
 
 class PlotterParameterAllSerializer(ContributionSerializer):
-    data            = serializers.SerializerMethodField()
-    description     = serializers.SerializerMethodField()
-    plotter         = serializers.SerializerMethodField()
+    data = serializers.SerializerMethodField()
+    description = serializers.SerializerMethodField()
+    plotter = serializers.SerializerMethodField()
 
     class Meta(ContributionSerializer.Meta):
         model = PlotterParameter
 
-    #def get_referencing_experiments(self, obj):
+    # def get_referencing_experiments(self, obj):
     #    user = self.context.get('user')
 
     #    experiments = obj.experiments.for_user(user, True).order_by('-creation_date')
@@ -193,25 +230,48 @@ class PlotterParameterAllSerializer(ContributionSerializer):
 
     #    return ordered_result
 
-    #def get_new_experiment_url(self, obj):
+    # def get_new_experiment_url(self, obj):
     #    return obj.get_new_experiment_url()
 
-#----------------------------------------------------------
+
+# ----------------------------------------------------------
+
 
 class FullPlotterParameterSerializer(PlotterParameterAllSerializer):
     plotters = serializers.SerializerMethodField()
 
     class Meta(PlotterParameterAllSerializer.Meta):
-        #exclude = ['declaration']
+        # exclude = ['declaration']
         exclude = []
-        #default_fields = PlotterParameterAllSerializer.Meta.default_fields + PlotterParameterAllSerializer.Meta.extra_fields
-        default_fields = ['id', 'accessibility', 'modifiable', 'deletable', 'is_owner', 'name', 'fork_of', 'last_version', 'previous_version', 'short_description', 'description', 'version', 'creation_date', 'data', 'plotter', 'plotters']
+        # default_fields = PlotterParameterAllSerializer.Meta.default_fields + PlotterParameterAllSerializer.Meta.extra_fields
+        default_fields = [
+            "id",
+            "accessibility",
+            "modifiable",
+            "deletable",
+            "is_owner",
+            "name",
+            "fork_of",
+            "last_version",
+            "previous_version",
+            "short_description",
+            "description",
+            "version",
+            "creation_date",
+            "data",
+            "plotter",
+            "plotters",
+        ]
 
     def get_description(self, obj):
-        return smart_text(obj.description, encoding='utf-8', strings_only=False, errors='strict')
+        return smart_text(
+            obj.description, encoding="utf-8", strings_only=False, errors="strict"
+        )
 
     def get_short_description(self, obj):
-        return smart_text(obj.short_description, encoding='utf-8', strings_only=False, errors='strict')
+        return smart_text(
+            obj.short_description, encoding="utf-8", strings_only=False, errors="strict"
+        )
 
     def get_data(self, obj):
         return json.loads(obj.data)
@@ -226,24 +286,44 @@ class FullPlotterParameterSerializer(PlotterParameterAllSerializer):
         all_plotters = Plotter.objects.all()
         results = {}
         for plotter in all_plotters.iterator():
-            serializer = FullPlotterSerializer(plotter, context=self.context, fields=['id', 'accessibility', 'modifiable', 'deletable', 'is_owner', 'name', 'fork_of', 'last_version', 'previous_version', 'short_description', 'description', 'version', 'creation_date', 'data', 'sample_data', 'declaration'])
+            serializer = FullPlotterSerializer(
+                plotter,
+                context=self.context,
+                fields=[
+                    "id",
+                    "accessibility",
+                    "modifiable",
+                    "deletable",
+                    "is_owner",
+                    "name",
+                    "fork_of",
+                    "last_version",
+                    "previous_version",
+                    "short_description",
+                    "description",
+                    "version",
+                    "creation_date",
+                    "data",
+                    "sample_data",
+                    "declaration",
+                ],
+            )
             results[plotter.fullname()] = serializer.data
 
         return results
 
-
-    #def get_plotter(self, obj):
+    # def get_plotter(self, obj):
     #    return obj.author.username
 
-        #"accessibility": "public",
-        #"modifiable": true,
-        #"deletable": true,
-        #"is_owner": false,
-        #"name": "plot/bar/1",
-        #"fork_of": null,
-        #"last_version": true,
-        #"previous_version": null,
-        #"short_description": "Default parameters for bar plots",
-        #"description": "Raw content",
-        #"version": 1,
-        #"creation_date": "2015-09-03T16:55:47.620000",
+    # "accessibility": "public",
+    # "modifiable": true,
+    # "deletable": true,
+    # "is_owner": false,
+    # "name": "plot/bar/1",
+    # "fork_of": null,
+    # "last_version": true,
+    # "previous_version": null,
+    # "short_description": "Default parameters for bar plots",
+    # "description": "Raw content",
+    # "version": 1,
+    # "creation_date": "2015-09-03T16:55:47.620000",