Removed more semantic analysis. Also, it now won't accept uppercase letters