controller mechanism added