Alternate model

Everything works fine. We can now merge this back with master.