better with the edge case for numbers