added serializer trait