study c interface programming from book 'C Interfaces and Implementations'