add non_gui branch