Added type definition
Added observer type