Added ability to implement multiple overloads for functions