Shape implementation.