delegation and class extensions