fix multimethod dispatch