no need to reuse the name 'path', slightly confusing