finish list service
refactor