add new option and make a little refactor