First pass at a full enumerator and tester. Guess we'll see what happens.