documented interface