. better handling of optional interface pointer argument