Main plugin structure