add join, tests