add model and validator
fix gitignore