updated grammar - mostly complete