refact MicroTask