improved component controller structure