fixed ambiguity with extern