patch else if