add some fucking javadoc