handle deep path