added controlling part