work on plugin structure