making overloading work