note to self: the threaded runtime is actually necessary