Decoupled param gen