add support for negaitve numbers and logical nots