Refactor, condense, and add sign for joining