type deduction mostly works...