improved all classes