use new thread to monitor