removed Object.defineProperty b/c IE sucks