abstract pattern

Newest