correctly handle +n