pep-8
use swappable model if available