put Grunt into sif, do some refactoring