simplified plugin structure