shorten redundant argument names
meaningful exceptions