Optimizations, caching, added "use strict", switched to camelCasing
Same as last commit