commit functionality works

but i didn't yet find all positions where we
save and we still produce a lot of unecessary commits