Add listen gestion
Add service pattern