Even more Shape refactoring