Extensions use interface instead of the class type
manual merge