update to accept multiple ports