almost all classes created and some logic