move tests to their own module
rename module work to workqueue
vec.map was deprecated; use iterator map