got carried away in code. Majority complete. Finishing commenting.