fixed of infinity loop and shadowing untransparent objects