backported time delayed join.  still need to test