working on generation limitation