- some refactoring around npc visit
- added water visit