added bidirectional interface for plugins