base main and gitignore