Updated JavaDoc, should be complete