Revert "Just the skeleton code I finished from before"

This reverts commit 0d3838c850f98253bea58afbcde6565179467883.
Revert "Revert "Just the skeleton code I finished from before""

This reverts commit 740ac6b1d25be4d49b9cee52cd9cc3203a681504.