add reservation function added