refactor the Extensiontypes interface - return a complex type instead of
plain map