fix looping bug: use takeMVar, not readMVar
bump version number