some more canonical code