first commit, with basically all the code in