Updated Component with required methods