If your site is a new site then - possibly - Google put it artificially high for a honeymoon period, you created a lit of links quickly and Google put into the "sandbox" for a while. New sites are precarious - I had something similar.
The trick with
link building is - I beleive - to make it appear "natural". Therefore get a mix of anchor text AS IF different people had been creating links freely. Therefore rather than having 1000 links pointing back to your website all neatly labelled with the anchor text "landlord insurance" (Google will dismiss these links as spam and probably discount them), create a mix of links - landlord insurance, insurance for landlords, landlord's special insurance, property owner's insurance, cheap insurance for landlords, insurance and landlords etc etc. (see Google anlaytics keyword tool for different terms people search for).
Also include the odd my site or plain url into the mix.
Include a few nofollows to make it appear more natural and get your linsk from a mix of sources - blogs, articles, sb, forums, press releases and if you can other websites.
Make sure your onpage seo isn't too spammy as well - ie check it with some
keyword density tools out there.