protocol refactoring: marshall/demarshall. temp commit