reorder and comment
Refactor