updated restaurant impl