normalize path if necessary