finished implementing all the controls