refactor Balance