Profile finished?

I added all the methods we needed and left my testing code in the main method for you to see it in action. I used Hashmaps and Hashsets instead of Treemaps and Treesets, I don't think that really matters and it is a very easy to change using a Find/Replace search for Tree/Hash