This started as a class demo and I decided to finish it after,...