thread mirror initial version - resolves #5