added -1 case