fix the MarshalJSON method signature