Added more javadocs and programmatic API to README