now with a bunch more JUnit test cases