removed iface inheritance to illustrate duck typing