improve compiler select