Random refactoring and testing. Project may not currently yield expected results.