add provision and destroy functions