controller diagram