adding reservation function