sharing some code now, in a base class