Added some javadoc and functions in the interfaces