Added an improved several patterns