interfaces for intern + extern