Updated with protected constructor in LM interfaces, and friendships with the corresponding models