General purpose commit