reorganised folders, added javadocs