finished joiner implementation