model impl
Starting to get things organised to allow browser testing too