Why use threads? - Low Level Design