First attempt at unit-testing, not complete due to time constraints.