beta 2.0,  multithreading approach