main refactoring and incorporating parseService as caching / paging layer