move virtualize to a header
move ready_future to a header