update firmware with some todos