this is duck typing