not a big fan of this API. would make much more sense as a management command that was parameterizable.