Constructable types should be constructed in initializer, not constructor
empty() is better than size() == 0
MaxAxis is not set