fixed join()