use varg macro to properly pass error message