code is now much more clean -removed ugly nested loops -used functions to reduce code clutter and duplcation removed redundant functions cleaned up sort and improved names
The UTF8 implementaion is ripped from openjdk-source's java source code, adapted by me for c++