Changing how to initialize and update.