more TODO
added gain control.