custom drawing and gradient