Complete overhaul, refactoring and speed improvements.