making control more flexible