starting to add firmware logic