use std vararg macros