more complete zap example