*impl: thread interface