use same paramaters as derequire