add negative checking