use apply method instead of constructor for deserializing SSMany