add conditional onJoin