Added JavaDoc and stuff to things