implemented alpha blending