added icons, performed some refactoring