fix vararg usae; use static callbacks