changed path resolution to use io.path