more little refactory