tested and implemented some classes