add support for negative/positive number and float number