refactored token