adjusting plugin architecture