added javadocs and readme