inheritance related funciton have been added