initial commit, lots of off-line work