This is a user-level thread wrapper around the 
implementation by David Keppel.
