abstract pattern 1 abstract pattern 2 abstract pattern 3