add err() macro