add non member function