support for more detailed requires