just use single wrapping immediate function