still havent perfected the control structure