I CANT BELIEVE THIS GUY CREATED A SECOND INTERFACE INSTEAD OF JUST CHANGING THE EXISTING INTERFACE TO TAKE THE MODE AS SECOND PARAMETER