ah ha, all the code needs to live in firmware