Update and refacotring