adding thread support w/ locks