addded more grandparent functions