add basic structure and functional plugin