ok just done with OOP