joinの実装