Microsoft Project creates budgets based on assignment of work and resource rates. As resources are assigned to tasks and assignment work is estimated, the program calculates the cost, that is equal to the work times the rate and with various levels of insights such as task level, summary and finally to the project level. Resource (people, equipment and materials) can be shared between projects using a shared resource pool. Each resource can have its own calendar, which defines what days and shifts a resource is available. Resource rates are used to calculate resource assignment costs which are rolled up and summarized at the resource level. Each resource can be assigned to multiple tasks in multiple plans and each task can be assigned multiple resources, and the application schedules task work based on the resource availability as defined in the resource calendars.