dealing with compiler ambiguity