refactor account