Refactor & comments