rewrote using mercury
0.2.0
point to mercury