analysis update, allowing axes to be none and are returned