add grunt plugin and tests