fill out pattern matching structures a bit more