+ add the possibility to specify an interface to map to via an optional interface pointer argument