use Q objects to make queryset smaller