make host and port optional