reintroduced pointers in Patterns