allow return type overloading for mats