ok, not my best work, but this was a school assignment and this is typically NOT my style.
All by me, @yoman4