better xmfloat4
improved ripple functions