Initial Commit

Initial commit from HK’s branch. Code review comments not yet
incorporated.