add `q` optional parameter