Also, and I'm happy to defer this to another PR, we need to consider the case that axis could be more than one IMHO.