Abstract Shell Pattern