This paper serves as a relatively clear explanation of particle level sets (at least, much more clear than either Stam or Fedkiw's explanations). Though neither their description nor their implementation are specifically about liquid simulation, they do closely relate to how Fedkiw solves for liquid. The great thing about level sets is that, as an implicit surface, one can easily add, remove, or move the liquid around, and it will still represent a valid surface. Also, since the underlying data is kept as a signed-distance function, computing the normal for any point is simple, as it's just the gradient. One issue: since we want the underlying data to represent a signed-distance function, we'll have to recompute it after every change. But by using the Fast-Marching method, this can be done quickly and easily. This paper also discusses how level sets can exhibit mass-dissipation, which is caused by the discretization of the underlying field. By using a set of particles check against this, they can avoid this problem.