move javadoc to interface
added @Nullable annotations