support type scope namespace.
refactor to support more accurate types.
merge from remote.