update and provides the software interface