better number handling