add new models to refactor the cost calculating logic