Refactor out unnecesary classes and don't swallow errors until top call