liftIO to the rescue