module.exports = function(grunt) {

	// constants for various paths and files to be used by the task configuration
	var BUILD_DIR      = 'dist/';

	var BUILD_DIR_JS   = BUILD_DIR     + 'js/';
	var BUILD_FILE_JS  = BUILD_DIR_JS  + 'script.js';

	var BUILD_DIR_CSS  = BUILD_DIR     + 'css/';
	var BUILD_FILE_CSS = BUILD_DIR_CSS + 'style.min.css';


	var SRC_DIR        = 'src/';

	var SRC_DIR_JS     = SRC_DIR + 'js/';
	var SRC_DIR_CSS    = SRC_DIR + 'css/';
	var SRC_DIR_LESS   = SRC_DIR + 'less/';

	var SRC_FILES_JS   = SRC_DIR_JS   + '*.js';
	var SRC_FILES_CSS  = SRC_DIR_CSS  + '*.css';
	var SRC_FILES_LESS = SRC_DIR_LESS + '*.less';

	var AP_BROWSERS = [
		'Android >= 4',
		'Chrome >= 35',
		'Firefox >= 35',
		'Explorer >= 7',
		'iOS >= 6',
		'Opera >= 20',
		'Safari >= 9'
	];

	grunt.initConfig({
		pkg: grunt.file.readJSON('package.json'),

		cssflow: {
			options: {
				preprocessor: 'less',
				autoprefixer: {
					browsers: AP_BROWSERS
				}
			},
			build: {
				files: {
					'src/css/style.css': 'src/less/main.less'
				}
			}
		},

		copy: {
			build: {
				cwd: SRC_DIR_CSS,
				src: ['*.css'],
				dest: BUILD_DIR_CSS,
				expand: true
			}
		},

		less: {
			build: {
				files: {
					'src/css/style.css': SRC_FILES_LESS
				}
			}
		},

		uncss: {
			build: {
				files: [
					{ src: 'index.html', dest: 'dist/css/style.uncss.css' }
				],
				options: {
					ignoreSheets: [/fonts.googleapis/]
				}
			}
		},

		cssmin: {
			options: {
				keepSpecialComments: 0
			},
			build: {
				files: {
					'dist/css/style.min.css': 'src/css/style.css'
				}
			},
			dist: {
				files: {
					'dist/css/style.uncss.css': 'dist/css/style.uncss.css'
				}
			}
		},

		jshint: {
			options: {
				curly: true
			},
			beforeconcat: [SRC_FILES_JS],
			afterconcat: ['dist/js/script.js']
		},

		concat: {
			options: {
				seperator: ";"
			},
			build: {
				src: ['src/js/*.js'],
				dest: 'dist/js/script.js'
			}
		},

		uglify: {
			build: {
				files: {
					"dist/js/script.min.js": 'dist/js/script.js'
				}
			}
		},

		watch: {
			styles: {
				options: {
					spawn: false
				},
				files: ['src/less/*.less', 'src/less/**/*.less'],
				tasks: ['cssflow', 'copy'],
			},
			scripts: {
				options: {
					spawn: false
				},
				files: ['src/js//*.js'],
				tasks: ['concat', 'uglify', 'jshint']
			}
		}
	});

	// Load the plugins
	require('load-grunt-tasks')(grunt);

	//Default Task(s)
	grunt.registerTask('default', 'watch');
	grunt.registerTask('cleancss', ['uncss', 'cssmin:dist']);
};

@@ -235,16 +235,63 @@
 ipt.js';
+%0A%09var BUILD_FILES_JS  = BUILD_DIR_JS  + '*.js';
 %0A%0A%09var B
@@ -385,16 +385,64 @@
 n.css';%0A
+%09var BUILD_FILES_CSS = BUILD_DIR_CSS + '*.css';%0A
 %0A%0A%09var S
@@ -1135,24 +1135,108 @@
 %0A%09%09%09%7D%0A%09%09%7D,%0A%0A
+%09%09clean: %7B%0A%09%09%09css: %5BBUILD_FILES_CSS, SRC_FILES_CSS%5D,%0A%09%09%09js : %5BBUILD_FILES_JS%5D%0A%09%09%7D,%0A%0A
 %09%09copy: %7B%0A%09%09
@@ -1894,24 +1894,64 @@
 %09curly: true
+,%0A%09%09%09%09globals: %7B%0A%09%09%09%09%09jQuery: true%0A%09%09%09%09%7D
 %0A%09%09%09%7D,%0A%09%09%09be
@@ -1995,35 +1995,29 @@
 oncat: %5B
-'dist/js/script.js'
+BUILD_FILE_JS
 %5D%0A%09%09%7D,%0A%0A
@@ -2093,53 +2093,46 @@
 c: %5B
-'src/js/*.js'%5D,%0A%09%09%09%09dest: 'dist/js/script.js'
+SRC_FILES_JS%5D,%0A%09%09%09%09dest: BUILD_FILE_JS
 %0A%09%09%09
@@ -2181,17 +2181,17 @@
  %7B%0A%09%09%09%09%09
-%22
+'
 dist/js/
@@ -2203,17 +2203,17 @@
 t.min.js
-%22
+'
 : 'dist/
@@ -2373,16 +2373,29 @@
 tasks: %5B
+'clean:css', 
 'cssflow
@@ -2404,17 +2404,16 @@
  'copy'%5D
-,
 %0A%09%09%09%7D,%0A%09
@@ -2506,16 +2506,51 @@
 tasks: %5B
+'jshint:beforeconcat', 'clean:js', 
 'concat'
@@ -2568,16 +2568,28 @@
  'jshint
+:afterconcat
 '%5D%0A%09%09%09%7D%0A

update 0.5.0-1