refactored reservation module