done fucntion return type check, and assignment type check.