uses the grammar and actions modules for parsing and JSON module for dumping
updated with better laws