Refactor needed