what's the point of numerous overloads that doesn't save any code?