rename options to settings
add require support