merge routing stuff
merge and some npc refactoring