add accessors for scope variable count
disallow variable shadowing