Superb!!

But the problem is we can only talk about these rules, can't implement them :(