initial commit
polish, feature complete