Base plugin structure