Got the basic framework. Now for the crazy testing parts...