fixed negative input behavior