more code structure
gitignore