commenting my classes and little bit refractoring