Water is pretty satisfyingly done. Needs lots of optimization still
merge commit