use sum type rather than a number here