Updated all existing components to impelement basics of interface