worker thread, threads safe
signal added
cleanup
one class per file