Added javadocs & TODOs