add basic OO practice