option
refactor 2