initial plugin structure