revamped dictionary and reserved words code