grunt introduction