So this is what I have been thinking so far.

Can anyone spot any obvious problems with this?

Thanks for all your help!