why do it this way? also why no case statement?