Adding javadocs and todo