A component based framework