resolving multimethod conflicts