How are software and hardware updates handled?