added new test classes and fixed some errors