first value interfaces and implementations