Unbroken. made it so that errors semantic checks happen earlier in the code
to impliment fail fast, fail early

Signed-off-by: yongzhez <yongzhe.zheng1@gmail.com>