Took a bit of time to draw this out.