Good inheritance now. Complexity has however gone up.. Each interface implementation has the same size interface struct. Included in this struct is a pointer that the implemented interface may allocate memory to for it's specific requirements.