use defineProperty instead of defineGetter which is more widely available

defineGetter is generally not available on IEx