flesh out join logic