initial commit. lots of work to do