finalized grunt implementation