rework compilation check