early marshalling work, api tuning