Added Else and did some refactoring in type checker