Submitted a different solution previously, but had rebased after development, not providing the desired insight into the development process. Rewritten from scratch to show dev process. Feedback appreciated.