refactor water layer