Trace

Still requires a few fixes, but the main part is done.
is it just lazy initialization of the first part?
if so, move it to thread creation and remove the setup flag