Add arithmetic, more semantic error checking