restructre commit