commit functionality upgraded