refactor add_fw to create_fw