add negative input error handling