options recursively applied