added occlusion and control