external interface design