performs search asynchronously
cancels job on SIGINT
slightly refactors progress logging