remove itemCount field as it is dynamically calculated
fix #34
refactor code using the service layer