refactored to seperate QueryDSL queries from finders.