add hardware code