2.0 refactor to using CustomQuerySet
wip: rewrite stuff