allow custom JSON encodings