add domain modeling