migrate authoring code as module