nicer require fallback handling
add require-style tests