Renamed some classes , added tests