document delegation functions