add GQueue class and remove join_all func.
add tests