Emphasize primary and derivate methods
Comment on the decision of using struct/interfaces