Minor refactoring and additional unit tests
Icon