change 2 argument semantics to make more sense