add gitignore and some features