added IJoinHandler classes