fixed guard compatibility problem