first real touch of parser, some refractoring, grammar doc