resolve type conflict