add port error handling