deal with method overloading