added port flexibility