redesign options so we dont use mutually exclusive params
update docs with new param design