polygon and circle handling working