move VirtScreen and put IThread to its own files