making derequire optional