added favicon and further refactored