add and improve Grunt tasks