broke out some of the test cases for easier unit testing
tests