to model
unit test it