Implement a rough framework to continue work on