better build and gitignore