Added Optional Port argument