GOD AWFUL implementation that needs a lot of work. I guess I can look back at this in the future to get an idea of how far I've advanced?