set up abstraction for overloaded methods