controller prototype improved