controller look should run in bg; transfer should only take place if scan success