Inital commit, a ton of work to do