make thread_id a class so we can override the comparison operators