reworked compiler check impl