necessary updates