Changed patteren implementation