added icons, cleaned up empty port behavior, made empty list work.
added icons