added warn primitive