jslint'd
+extra conditionals