More refacotring