added a few files for the sake of OOP