refactor move gen params