using Q_ARG macro