Join function
join function
warnings revise