commit
command factory method