add restrictions to control and error