started refactoring to separate shape logic from page logic