work with UI,poll,async etc.