first idea of making input and interface customizable from the outside