some modes: use this_fiber in future.hpp