* better user feedback and proper caching if port value