void workLift() {
        /*
         * this replaces togglelift - after hugh's helpful comments
         */

        if (cloud != null || circuit != null) return;

        Hill h = null;
        if (app.landscape != null) h = app.landscape.getHillAt(flyingDot.p);

        if (h != null) {
            setCircuit(h.getCircuit());
            app.cameraMan.cutSetup(h, flyingDot.isUser);
            return;
        }

        Cloud c = null;
        if (app.sky != null) c = app.sky.getCloudAt(flyingDot.p);

        if (c != null) {
            setCloud(c);
            app.cameraMan.cutSetup(cloud, flyingDot.isUser);
            return;
        }

        // no cloud or ridge - do a wiggle
        wiggleCount = wiggleSize * 4 + 1;
    }