relying on the serializer here seems less fragile. +1