Index: docs/P3-UseCaseModel/UseCase0007.md
===================================================================
--- docs/P3-UseCaseModel/UseCase0007.md	(revision b715712c7d5d3ee27c932a8a9d8e0a2bc6e85127)
+++ docs/P3-UseCaseModel/UseCase0007.md	(revision ef1c1c725137d93fa85292f43440214aaddcdf05)
@@ -40,11 +40,17 @@
 ### Add a crypto
 
+The Trader picks the crypto by its number from the listed cryptos that are not on the watchlist yet:
+
 ```sql
--- 1. resolve the symbol to a crypto_id
-SELECT id FROM project.crypto WHERE upper(symbol) = upper($1);
+-- 1. list, numbered, the cryptos not yet on the watchlist
+SELECT c.id, c.symbol, c.name
+  FROM project.crypto c
+ WHERE NOT EXISTS (SELECT 1 FROM project.watchlist_items wi
+                    WHERE wi.watchlist_id = $1 AND wi.crypto_id = c.id)
+ ORDER BY c.symbol;
 
--- 2. insert the item; do nothing if it's already there
+-- 2. insert the chosen crypto ($2 = its id from the list); do nothing if it's already there
 INSERT INTO project.watchlist_items (watchlist_id, crypto_id)
-VALUES ($watchlist_id, $crypto_id)
+VALUES ($1, $2)
 ON CONFLICT (watchlist_id, crypto_id) DO NOTHING;
 ```
@@ -52,12 +58,18 @@
 ### Remove a crypto
 
+The Trader picks the crypto by its number from the listed cryptos on the watchlist:
+
 ```sql
+-- 1. list, numbered, the cryptos on the watchlist
+SELECT c.id, c.symbol, c.name
+  FROM project.watchlist_items wi
+  JOIN project.crypto c ON c.id = wi.crypto_id
+ WHERE wi.watchlist_id = $1
+ ORDER BY c.symbol;
+
+-- 2. delete the chosen crypto ($2 = its id from the list)
 DELETE FROM project.watchlist_items
- WHERE watchlist_id = $1
-   AND crypto_id = (
-       SELECT id FROM project.crypto
-        WHERE upper(symbol) = upper($2)
-   );
+ WHERE watchlist_id = $1 AND crypto_id = $2;
 ```
 
-If the delete affects zero rows, system shows "Not in watchlist."
+If the entered number is not one of the listed numbers, system shows "Invalid choice, enter a number from 1 to N." and nothing is changed.
