made all multi-parameter functions use objects

For better compatitility going forward I changed functions to take a
single parameter object rather than many positional parameters.