Added pattern implementation