updated all classes. Now need to check perfomance and do some cleanup