further refactoring of parameter handling