more elegant parameter defaults