includes JUnit Tests and minor updates