Javadocs, exception error messages, and some TODOs where i thought some changes can be made