described more req and moved some code gen to design