change return type, update javadoc