move thread  pool to independent project