overload--static and virtual