avoid ambiguous calling