added negative num handling