Edited classes and added tests