revert to thread model - better support on mono