model externalized in its own module