notifications moved to main thread using signals