cleanup look ahead a bit further and use task factory instead of a new thread every time