better way for managing options
update doc comments