I have read all sorts of variations of this on stackoverflow but I cannot seem to find a post that exactly explains what I\'m trying to achieve, at the same time I believe this