made more OOP stuff