made Commit comparable so it no longer needs to be Iteratable