add project diffinition
improve gitignore