explanation of container promises