virtual method resolution