add acsessors to Program* Function*