Updated a lot of code