Nice one, you've put a lot of thought into this!