reorganized structure. added practice problems from java. more generalized now