Use a new ADT ClassMember to denote class members(both functions and data members)
Export all modules
Add a protected method example