made control interface its own file