refacotring 2?