added in unit tests for the main classes