Redisigned updating
Updaiting is almost done