generate and parse