add start_work() & clean up