migrated to pyQt threading (QThread)