begin cave compatibility implementation