solving thread