make_character cases instead of ifs