Some more javadoc comment adding in as well as going more into detail over some //todo's