implementing OAL::Thread