fix precedence of ** to comply with spec
update definition of super