initial water shader refactor