refactoring of elo