improved parameter handling