implements ellipse