Alternative OO approach