Character refactor