using MVar and monadic stuff
pulled latest. Oh and some cpp testing