Verbose output and a few optimisations