give extensive description