better parameter handling