#3 unit tests for default constructor added + some minor refactoring