added support for negative values