pattern increment framework