works for negative nos