separated tests into their own classes for a more suite-like feel
mergeing test branch into master