TODO: set join and push