updated to use '__proto__'