add grunt , some refactoring
gitignore update