Using the visitor pattern