add mux function