refactoring user eav