rationalize use of grunt