Refactor and Clean