added marshalling strategy