Cleaned up grammar, Added better constructors for nodes