new-driver: split assignment and conditional