pattern abstract