implement shape resources