Update join criteria and sort order based on feedback
update interfaces based on feedback
Update concrete classes based on feedback
update helper function based on feedback