commit flow control ex2&3&5