now properly refreshes token