eager load to prevent too many db query