revise checkin/out process