allow specifying parameters using a dictionary