Serializer logic moved to models