added direcotry traversal