compiled three times