add rectangle support