marshaler: new arch