added reservation functionality