add rough generation