Update to N dimension
leave untested