doc time

initial attempt at creating "proper documentation" will go back into
source files and update code to have javadoc notations in it, should
have better java doc after that