parser, serializer and spec