Added some much needed javadoc