Refactor!!!