describe GenericCommit here