completed - task : try to use generic service