major refactoring + icon changes