add timeout and port options