some changes to control