type checking and expression finished