added doSomeWork, doSomeIO