keep fields ordered on serialization