get rid off those pesky magical constants at the expense of pattern matching :(