can you please explain in like 2 sentences what we do here, what the difference between literalinterface and propertyvalueinterface means?