Tried to make the grammar more readable