add support for requires