completed required methods, +big javadoc