merged appendOption into setOption, make it more simply