Separated files according to OOP principles.