class w/ constructors as an adv data type