Using our own defineProperties function