https://profilbaru.com/article/Hardware_interface_design