redoing domain modelling