Design
Refactor and effects