fixed plugin structure