fixed redefinition issue