better number splitting