defineProperty and defineProperties added