notes on requirements and design (after some experiments)