new Abstract pattern