less verbose grammar and added python-like indentation