Fixed a few small things, will do major changes tonight.
Btw something.equals(null) is asing for nullPointerExceptions.