do tick during async work (it should reduce overhead and all)