Refactor and Comment