restructure model for driver code