added relational functions