add deep hierarchy
gitignore