add grunt and refactor