Fixed: optional port and password