restruture for grunt.