join.cpp finished