Refactor & reorder