Port should be changed to being the first argument passed in