fix role walk logic perfect