please describe the purpose of this interface