More shapes and refactoring.