Commit of first round of work. Still needs work before testing