function patterns with sections work