where does ::$pattern come from ?