Start with this, then add string representation, then add default ordering