adding recursive file detection