Commit before branching
reimplemented hash. all the same