Fully JavaDoc'd