new commit logic