improve the params construction, no overwrite