extracted out delegator methods