refactored ALOT, test a bunch