more object oriented...