method resolver implementation