refactoring number pos/neg funcs