added undef and unused again.
undef doesnt throw errors,
unused throws errors that should be fixed