added opaque layer interaction