Some clean and add more complex update