add interface extension support