refactor
enable to pass option
modify syntax