refactor with grunt