all classes imlemented (not working)
all methods implemented
opr test