why not use a switch here?