server: add `listen`