add function join()