added tests - structured each class in its own file