a ton of refactoring, torches