allocation program