updated javadocs
refactor, removing poor design