tweak models and api a bit