added ability to specify which interface to listen on