working on improving generation with only semantic constraints