my implementation of position based fluids