basic pattern matching
match, all the things