use pointers to struct iface