allow looping on discrete patterns