explicit types so they're present in JSON