use $! for result channel