Add OO design