I'd break this up into a bunch of different methods. Happy, to work with you on this.