Further refactoring - readied project for unit tests