objects for loop performance optimization (http://jsperf.com/object-keys-vs-hasownproperty/4)