pass args by const ref, not by value