initial one thread implementation