Authoring tool

Most of the authoring tool is done in this pull.