Add OOP things and fix transition