new patterns implemented