function redefinition abuse