updating all the code