added relay functions