Refactor
Working