committing code because I want a checkpoint as I am getting tired;