FIX: add PRINTF_ATTRIBUTE