added some grandparent functions