custom extension icon, cleanup and better structure, better
functionality