use defineProperty because why not...