internal patterns