separation of driver and controller