splitted Update In-Place
added more stuff