rules from Bogdan
rules from Bogdan