duck typing, argument order, inheritance added