turns out defineProperty is broken in IE8