support retries if the first port is taken
update deps