reworked everything, stripped everything back to just an AlphaNumeric generator, added profiling and more tests
Merged with Master