AbstractPattern - new abstract class