Long post but worth going through. Thanks.