fixed IconList and implemented the clean architecture