initial hal+json serialization implementation