extracted interface for Value