add interface with examples!