user can specify -1 to ignore, input values more robust when prompting user