changed reference to this inside defineProperty