I am aware that there are a number of answers to this already but non of these work for me. Not sure why.
Quick outline of the problem: