main --> listen