implemented path resolver