add basic support for dynamic interfaces #700