refactor revalation